Enterprise Version
abstract concept